package com.jsh.erp.datasource.mappers;

import com.jsh.erp.datasource.entities.Contract;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface ContractMapperEx {

    List<Contract> selectByConditionContract(
            @Param("name") String name,
            @Param("type") String type,
            @Param("projectId") String projectId,
            @Param("sn") String sn,
            @Param("creatorArray") String[] creatorArray,
            @Param("offset") Integer offset,
            @Param("rows") Integer rows);

    Long countsByContract(
            @Param("name") String name,
            @Param("type") String type,
            @Param("projectId") String projectId,
            @Param("sn") String sn,
            @Param("creatorArray") String[] creatorArray);

    List<Contract> findByAll(
            @Param("name") String name,
                                         @Param("type") String type,
                                         @Param("projectId") String projectId,
                                         @Param("sn") String sn
    );

    int batchDeleteContractByIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String ids[]);

    Contract getContractByNameAndType(
            @Param("name") String name,
            @Param("type") String type);
}